<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 正则匹配方法； -->
    <!-- exec	一个在字符串中执行查找匹配的RegExp方法，它返回一个数组（未匹配到则返回 null）。
    test	一个在字符串中测试是否匹配的RegExp方法，它返回 true 或 false。
    match	一个在字符串中执行查找匹配的String方法，它返回一个数组，在未匹配到时会返回 null。
    matchAll	一个在字符串中执行查找所有匹配的String方法，它返回一个迭代器（iterator）。
    search	一个在字符串中测试匹配的String方法，它返回匹配到的位置索引，或者在失败时返回-1。
    replace	一个在字符串中执行查找匹配的String方法，并且使用替换字符串替换掉匹配到的子字符串。
    split	一个使用正则表达式或者一个固定字符串分隔一个字符串，并将分隔后的子字符串存储到数组中的 String 方法。 -->
    <script>
        let template = "我是{{name}},年龄{{age}},性别{{sex}}"
        let data = {
            name:'姓名',
            age:18
        }
        console.log(render(template,data))
        function render(template,data){
            let reg = /\{\{(\w+)\}\}/
            console.log(template.match(reg))
            // let dds = Array.from(template.matchAll(reg)); //必须要加上/g
            // console.log(dds)
            if(reg.test(template)){
                const name = reg.exec(template)[1]; //查找当前模板⾥第⼀个模板字符串的字段
                template = template.replace(reg,data[name])
                return render(template,data)
            }
            return template
        }
    </script>
</body>
</html>